package com.wanger.swc.util.sw;

import cn.hutool.core.text.NamingCase;
import cn.hutool.core.util.StrUtil;
import lombok.extern.slf4j.Slf4j;

import java.util.Arrays;
import java.util.stream.Collectors;

/**
 * @Author: wanger
 * @Date: 2025/2/7 11:08
 * @Description: sw工具类
 */
@Slf4j
public class SWUtil {
    public static void info() {
        log.info("simplify-work系统系统特有的工具集合！");
    }

    /**
     * 下划线转大驼峰
     * underlineTheBigHump
     *
     * @param str 待转换的字符串
     * @return 转换后的字符串
     */
    public static String ultbh(String str) {
        return NamingCase.toPascalCase(str);
    }

    /**
     * 项目名称转首字母缩写
     *
     * @param str 项目名称
     * @return 首字母缩写
     */
    public static String acronym(String str) {
        return Arrays.stream(StrUtil.toUnderlineCase(StrUtil.blankToDefault(str, "")
                                .replace("-", "_"))
                        .split("_"))
                .collect(Collectors.toList()).stream()
                .filter(StrUtil::isNotBlank)
                .map(String::trim)
                .map(s -> s.substring(0, 1).toLowerCase())
                .reduce((a, b) -> a + b)
                .orElse("");
    }

}

